package org.sgx.gapi.client.apis.tasks.tasklists;

import org.sgx.gapi.client.client.GAPIBase;
import org.sgx.gapi.client.client.GAPIResult;

/**
 * @see https://developers.google.com/google-apps/tasks/v1/reference/tasklists#resource
 * @author sg
 * 
 */
public class TaskList extends GAPIResult {
	protected TaskList() {
	}

	public static final native TaskList create()/*-{
		return {};
	}-*/;

	/**
	 * Task list identifier.
	 * 
	 * @return
	 */
	public native final String id() /*-{
		return this["id"];
	}-*/;

	/**
	 * Task list identifier.
	 * 
	 * @param val
	 * @return this - for setter chaining
	 */
	public native final TaskList id(String val) /*-{
		this["id"] = val;
		return this;
	}-*/;

	/**
	 * Title of the task list.
	 * 
	 * @return
	 */
	public native final String title() /*-{
		return this["title"];
	}-*/;

	/**
	 * Title of the task list.
	 * 
	 * @param val
	 * @return this - for setter chaining
	 */
	public native final TaskList title(String val) /*-{
		this["title"] = val;
		return this;
	}-*/;

	/**
	 * URL pointing to this task list. Used to retrieve, update, or delete this task list.
	 * 
	 * @return
	 */
	public native final String selfLink() /*-{
		return this["selfLink"];
	}-*/;

	/**
	 * URL pointing to this task list. Used to retrieve, update, or delete this task list.
	 * 
	 * @param val
	 * @return this - for setter chaining
	 */
	public native final TaskList selfLink(String val) /*-{
		this["selfLink"] = val;
		return this;
	}-*/;

	/**
	 * Last modification time of the task list (as a RFC 3339 timestamp).
	 * 
	 * @return
	 */
	public native final String updated() /*-{
		return this["updated"];
	}-*/;

	/**
	 * Last modification time of the task list (as a RFC 3339 timestamp).
	 * 
	 * @param val
	 * @return this - for setter chaining
	 */
	public native final TaskList updated(String val) /*-{
		this["updated"] = val;
		return this;
	}-*/;
}
